TITLE decode.asm
.486P
.model FLAT
PUBLIC _decode
_DATA SEGMENT
_DATA ENDS
_TEXT SEGMENT
_decode PROC NEAR
PUSH EBP
MOV EBP, ESP
PUSH EBX
PUSH ECX
MOV EAX, DWORD PTR 8[EBP]
MOV EAX, DWORD PTR [EAX]
BSWAP EAX
MOV ECX, EAX
AND ECX, 3Fh
SHL ECX, 8
MOV EBX, EAX
AND EBX, 3F00h
SHL EBX, 6
OR ECX, EBX
MOV EBX, EAX
AND EBX,3F0000h
SHL EBX, 4
OR ECX, EBX
MOV EBX, EAX
AND EBX, 3F000000h
SHL EBX, 2
OR ECX, EBX
BSWAP ECX
MOV EAX, ECX
POP ECX
POP EBX
MOV ESP, EBP
POP EBP
RET 0
_decode ENDP
_TEXT ENDS
END |